﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

#pragma once

// gcmp平台debug命令，外部产品可以直接复用
#define ID_CMD_API_TEST                    L"gmAPITestCmd"                            //单元测试
#define ID_CMD_UNIT_TEST                    L"gmUnitTestCmd"                            //单元测试
#define ID_CMD_COLLECT_USER_DATA               L"gmCollectUserDataCmd"                  //CollectUserData
#define ID_CMD_REPLAY_JOURNAL               L"gmReplayJournalCmd"                       //日志回放(脚本文件)
#define ID_CMD_CONTINUOUS_REPLAY_JOURNAL       L"gmContinousReplayJournalCmd"              //日志循环回放（脚本文件）
#define ID_CMD_MODEL_VALIDATOR              L"gmModelValidateCmd"                       //插入日志验证器   
#define ID_CMD_SNAPSHOT_VALIDATOR           L"gmSnapShotValidateCmd"                    //插入截图验证器 
#define ID_CMD_REPLAY_JOURNAL_CONTENT       L"gmReplayJournalContentCmd"                //日志回放(js语句块) 
#define ID_CMD_SET_DEBUG_MODE               L"gmSetDebugModeCmd"                        //Debug Mode
#define ID_CMD_TOGGLE_DEBUG_MODE_OPTIONS    L"gmToggleDebugModeOptionsCmd"

#define ID_CMD_PICK_4_DEVELOPER                L"gmPick4DeveloperCmd"                   //Pick
#define ID_CMD_PICK_TARGET_GREP                L"gmPickTargetGRepCmd"
#define ID_CMD_PICK_TARGET_FACE                L"gmPickTargetFaceCmd"
#define ID_CMD_PICK_TARGET_CURVE            L"gmPickTargetCurveCmd"
#define ID_CMD_PICK_TARGET_EDGE            L"gmPickTargetEdgeCmd"
#define ID_CMD_PICK_TARGET_POINT            L"gmPickTargetPointCmd"

#define ID_CMD_DUMP_ALL_ELEMENTS            L"gmDumpAllElementsCmd"                     //Dump All Elements
#define ID_CMD_FIX_SHORT_ELEMENTID            L"gcmpFixShortIdCmd"                     //Fix Short Id
#define ID_CMD_FIX_SHORT_ELEMENTID_WITHOUT_UI L"gcmpFixShortIdWithoutUICmd"             //Fix Short Id without UI 
#define ID_CMD_DUMP_CHILDREN_OF_SELECTED   L"gmDumpChildrenOfSelected"                  //Dump Children of Selection
#define ID_CMD_DUMP_DECENDANTS_OF_SELECTED_AS_DOT L"gmDumpDescendantsOfSelectedAsDot"   //Dump Decendants of Selection
#define ID_CMD_DUMP_ANCESTORS_OF_SELECTED_AS_PNG L"dumpAncestorsOfSelectedAsPng"        //Dump Ancestors of Selection
#define ID_CMD_DUMP_OBJECT_RELATIONSHIPS_OF_SELECTED_AS_DOT L"gmDumpObjectRelationshipsOfSelectedAsDot" //Dump Relationships of Selection
#define ID_CMD_RELOAD_FAMILIES   L"gmReloadFamilies"                                    //Reload Existing Families

#define ID_CMD_REGENERATE_ALL   L"gmRegenerateAll"                                      //Force Regen Project Doc
#define ID_CMD_REGENERATE_Project_And_Family_DOCMENTS   L"gmRegenerateProjectAndFamilyDocments"  //Force Regen Project And Family Docs
#define ID_CMD_REGENERATE_SELECTED   L"gmRegenerateSelected"                            //Force Regen Selected

#define ID_CMD_SELECT_BY_ID                    L"gmSelectByIdCmd"                       //Select By Id
#define ID_CMD_RUNTIME_INFO                    L"gmOutputRuntimeInfoCmd"                //Runtime Information
#define ID_CMD_DUMP_CURRENT_CLASS_SCHEMAS_AS_XML  L"gcmpDumpCurrentClassSchemasAsXML"
#define ID_CMD_COLLECT_NEED_UPGRADE_CLASSID  L"gcmpCollectNeedUpgradeClassIdOfFile"

#define ID_CMD_ELIMINATE_CUT_RELATIONSHIP      L"EliminateCutRelationship"              //去除所有的扣减关系
#define ID_CMD_ELIMINATE_JOIN_RELATIONSHIP     L"EliminateJoinRelationship"             //去除所有的连接关系
#define ID_CMD_SAVE_ELEMENTS_BY_CATEGORY       L"SaveElementsByCategory"                //按照类别保存对象

#define ID_CMD_GRAPHICS_NODE_STATS  L"gcmpGraphicsNodeStats" // 统计图形节点信息
#define ID_CMD_DUMP_ELEM_TOPO_NAME  L"gmDumpElemTopoNameCmd"                           //dump instance topo tracking objects
#define ID_CMD_DUMP_CHILD_GNODE_TOPO_NAME  L"gmDumpChildGNodeTopoNameCmd"              //find child topo trakcing objects
#define ID_CMD_DUMP_PARENT_GNODE_TOPO_NAME  L"gmDumpParentGNodeTopoNameCmd"            //find root topo trakcing object
#define ID_CMD_GET_ALL_INST_TOPO_TRACKING_INFO_NUM  L"gmGetAllInstTopoTrackingInfoNumCmd"       // compute the number of topo tracking object in a doc

#define ID_CMD_DELETE_INST_UNUSED_TOPO_TRACKING_INFO  L"gmDeleteInstUnusedTopoTrackingInfoCmd"  // delete unused topo tracking objects from instance
#define ID_CMD_CLEAN_AND_REGEN_INST_TOPO_TRACKING_INFO L"gmCleanAndRegenInstTopoTrackingInfoCmd" // clean instance existing topo tracking info and regen instance to recreate topop info

#define ID_CMD_CREATE_CONTOUR_LINE  L"gcmpCreateContourLineCmd" // 生成轮廓线
#define ID_CMD_UPDATE_SCAlE_CONTOUR_LINE  L"gcmpSetScaleBetweenElemenetAndScreenCmd" 
#define ID_CMD_PROJECT_ELEM_BODY  L"gcmpProjectElemBodyCmd" // 投影
#define ID_CMD_HIDE_EDGE_SELECTION  L"gcmpHideEdgeSelectionCmd" // 对选中构件进行消隐
#define ID_CMD_HIDE_EDGE_VIEW_SELECTION  L"gcmpHideEdgeViewSelectionCmd" // 对选中构件进行消隐

#define ID_CMD_LOAD_WITH_LINKED_DOCUMENT    L"gcmpLoadWithLinkedDocument"   // 管综-链接时指定链接文档
#define ID_CMD_UPDATE_HOST_DOCUMENT         L"gcmpUpdateHostDocument"       // 管综-从文档修改后，同步更新到主文档
#define ID_CMD_MOVE_SELECTION_FOR_MULTI_DOC_EDIT   L"gcmpMoveSelectionForMultiDocEdit"  //管综-多文档编辑，移动选中构件
#define ID_CMD_UNLOAD_AND_DONT_CLOSE_LINK_DOCUMENT L"gcmpUnloadAndDontCloseLinkDocument"//管综-多文档编辑，卸载但不关闭链接文档
#define ID_CMD_MOCK_LINK_DOCUMENT_INFO      L"gcmpMockLinkDocumentInfo"     // 管综-设置被链接文档信息

#define ID_CMD_DELETE_SELECTION_FOR_MOCK_ELEMENT_DONT_EXIST L"gcmpDeleteSelectionForMockElementDontExistCmd" //删除框选的Element，模拟Element被删除的场景
#define ID_CMD_SELECT_CONFIG_FOR_REPLAY_MOCK_DEL_ELE_JRN L"gcmpSelectConfigForReplayMockDeleteElementJournal" //悬着配置文件，以稳定回放模拟Element被删除的场景的脚本

#define ID_CMD_GREP_TO_JSON L"gcmpGRepToJson"
#define ID_CMD_GREP_TO_JSON_AND_FROM_JSON L"gcmpGRepToJsonAndFromJson"
#define ID_CMD_CREATE_GREP_FROM_JSON L"gcmpCreateGrepFromJson"

#define ID_CMD_BEGIN_NDB_ELEMENT_CREATION_STATS  L"gcmpBeginNdbElementCreationStats"    // 开始统计Ndb对象创建
#define ID_CMD_END_NDB_ELEMENT_CREATION_STATS  L"gcmpEndNdbElementCreationStats"        // 结束统计Ndb对象创建

#define ID_CMD_DELETE_UNLOADED_LINK_DOCUMENT_TYPE  L"gcmpDeleteUnloadedLinkDocumentType" // 删除未连接状态的链接文档类型对象，以及链接文档对象、代理对象
#define ID_CMD_DELETE_UNRECORDED_PROXIES           L"gcmpDeleteUnrecordedProxies"        // 删除未被链接文档对象记录的代理对象

#define ID_CMD_NEW_FILE_USE_TEMPLATE               L"gcmpNewFileUseTemplate"             //通过模板新建文档

#define ID_CMD_REGISTER_DAMAGE_MOCK_BEHAVIOR   L"CmdRegisterDamageMockBehavior"
#define ID_CMD_UNREGISTER_DAMAGE_MOCK_BEHAVIOR L"CmdUnregisterDamageMockBehavior"
#define ID_CMD_UNREGISTER_ALL_DAMAGE_MOCK_BEHAVIOR L"CmdUnregisterAllDamageMockBehavior"

#define ID_CMD_REFRESH_ALL_OF_BATCH_LOAD           L"gmRefreshAllOfBatchLoad"            //刷新所有视图分批加载数据
#define ID_CMD_MODIFY_ALL_ELEMENTS                 L"gcmpModifyAllElements"              // 修改当前文档所有对象